::WS::Utils::ServiceTypeDef Client FreshBookApi TimeEntryDefinition {
    project_id  {type string minOccurs 1 maxOccurs 1}
    task_id     {type string minOccurs 0 maxOccurs 1}
    staff_id    {type string minOccurs 0 maxOccurs 1}
    hours       {type string minOccurs 0 maxOccurs 1}
    notes       {type string minOccurs 0 maxOccurs 1}
    date        {type string minOccurs 0 maxOccurs 1}
}

::WS::Utils::ServiceTypeDef Client FreshBookApi TimeEntryUpdate {
    time_entry_id   {type string minOccurs 1 maxOccurs 1}
    staff_id        {type string minOccurs 0 maxOccurs 1}
    project_id      {type string minOccurs 1 maxOccurs 1}
    task_id         {type string minOccurs 0 maxOccurs 1}
    hours           {type string minOccurs 0 maxOccurs 1}
    date            {type string minOccurs 0 maxOccurs 1}
    notes           {type string minOccurs 0 maxOccurs 1}
    billed          {type string minOccurs 0 maxOccurs 1}
}


::WS::Utils::ServiceTypeDef Client FreshBookApi TimeEntryListArray {
    time_entry    {type TimeEntryUpdate()}
}


::WS::Client::DefineRestMethod FreshBookApi time_entry time_entry.create {
    time_entry    {type TimeEntryDefinition}
} {
    time_entry_id {type string}
}

::WS::Client::DefineRestMethod FreshBookApi time_entry time_entry.update {
    time_entry    {type TimeEntryUpdate}
} {}

::WS::Client::DefineRestMethod FreshBookApi time_entry time_entry.get {
    time_entry_id {type string}
} {
    time_entry    {type TimeEntryUpdate}
}

::WS::Client::DefineRestMethod FreshBookApi time_entry time_entry.delete {
    time_entry_id {type string}
} {
}

::WS::Client::DefineRestMethod FreshBookApi time_entry time_entry.list {
    project_id  {type string}
    task_id     {type string}
    date_from   {type string}
    date_to     {type string}
    page        {type string minOccurs 0 maxOccurs 1}
    per_page    {type string minOccurs 0 maxOccurs 1}
} {
    time_entries    {type TimeEntryListArray}
}
